# https://alphacephei.com/vosk/models
# 语音转文字

from vosk import Model, KaldiRecognizer
import wave
import json

# 加载模型
model = Model('zh-1')
# 打开音频文件
f = wave.open('1.mp3')
# 创建语音识别器(模型对象，采样率)
kaldi = KaldiRecognizer(model, 16000)
print('开始识别')
while True:
    # 每次读取音频文件多少帧
    z = f.readframes(4000)
    # 如果读取不到数据就退出循环
    if not z:
        break
    # 传入读取数据进行识别
    kaldi.AcceptWaveform(z)

# 接收结果
result = json.loads(kaldi.FinalResult())['text'].replace(' ', '')
print(result)
